import axios from 'axios'
import Vue from 'vue'

axios.defaults.timeout = 10000;
/**
 * get方法，对应get请求
 * @param {String} url [请求的url地址]
 * @data {Object} data [请求时携带的参数]
 */
/** 
 * post方法，对应post请求 
 * @param {String} url [请求的url地址] 
 * @data {Object} data [请求时携带的参数] 
 */
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
      if(sessionStorage.getItem("token")){
        config.headers.Authorization=sessionStorage.getItem("token")
      }
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});
// 添加响应拦截器
axios.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  
  if (response.data) {
    switch (response.data.meta.status) {
      case 201:
          Vue.prototype.$message.success(response.data.meta.msg);
        break;
        case 204:
            Vue.prototype.$message.success(response.data.meta.msg);
          break;
          case 400:
              Vue.prototype.$message.error(response.data.meta.msg);
            break;
            case 401:
                Vue.prototype.$message.error(response.data.meta.msg);
              break;
              case 403:
                  Vue.prototype.$message.error(response.data.meta.msg);
                break;
                case 404:
                    Vue.prototype.$message.error(response.data.meta.msg);
                  break;
                  case 422:
                      Vue.prototype.$message.error(response.data.meta.msg);
                    break;
                    case 500:
                        Vue.prototype.$message.error(response.data.meta.msg);
                    break;
    }
    
    return response.data;
  } else {
    return response;
  }
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error);
});
